Career 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour M15 Sofia Troyes Challenger Wimbledon - London M25 Castelo Branco M25 Idanha-a-Nova M25 Idanha-a-Nova M25 Sintra M25 Sintra Astana Open - Astana Chengdu Open - Chengdu M25 Santa Margherita di Pula M25 Santa Margherita di Pula M25 Santa Margherita di Pula Shenzhen 2 Challenger M15 Al Zahra M15 Hua Hin Bergamo Challenger M25 Hua Hin M15 Al Zahra Sofia Open - Sofia M25 Brisbane M25 Mumbai Nonthaburi 1 Challenger Chennai Challenger Nonthaburi 2 Challenger Nonthaburi 3 Challenger Pune Challenger Manama Challenger Bengaluru Challenger M25 New Delhi Santa Cruz de la Sierra Challenger New Delhi Challenger Santiago Challenger Sao Leopoldo Challenger Mexico City Challenger Savannah Challenger Shenzhen 1 Challenger Cuernavaca Challenger Taipei Challenger Guangzhou Challenger Porto Alegre Challenger M15 Tianjin M25 Castelo Branco Braunschweig Challenger M25 Tianjin Karlsruhe Challenger M25 Brazzaville Astana Challenger Jinan Challenger M25 Brazzaville M25 Porto M25 Sapporo Zhangjiagang Challenger Guangzhou Challenger M25 Takasaki M25 Sapporo Nonthaburi 4 Challenger M25 Hong Kong Tiburon Challenger Calgary Challenger Taipei 2 Challenger Fairfield Challenger Brazzaville Challenger Helsinki Challenger Manzanillo Challenger M15 Stellenbosch M25 Champaign Nonthaburi 1 Challenger M25 Dallas Spain F7 Spain F24 Spain F28 Portugal F5 Portugal F1 Portugal F2 Portugal F3 Portugal F4 Spain F7 Spain F8 Spain F9 Spain F10 Spain F12 Spain F13 Spain F14 Spain F11 Spain F15 Spain F16 Spain F17 Spain F18 Spain F19 Belgium F7 Belgium F8 Austria F7 Austria F8 Austria F9 Austria F10 France F16 France F17 Spain F33 Spain F34 Spain F35 Spain F36 Portugal F1 Portugal F2 Spain F3 Spain F4 Spain F5 Croatia F4 Croatia F5 Croatia F6 Croatia F7 Italy F10 Italy F11 Italy F12 Italy F13 Italy F14 Slovenia F1 Slovenia F2 Slovenia F3 Hungary F3 Austria F1 Austria F3 Austria F4 Austria F5 Slovakia F3 Austria F6 Austria F7 Austria F8 Austria F9 Italy F30 Italy F32 Italy F33 Italy F34 Italy F35 Spain F1 Spain F2 Spain F3 Spain F4 Spain F5 Portugal F2 Portugal F3 Spain F6 Spain F7 Spain F8 Spain F9 Spain F10 Spain F11 Spain F12 Spain F13 Slovenia F2 Slovenia F3 Austria F1 Austria F2 Austria F3 Austria F4 Germany F8 Belgium F8 Belgium F9 Belgium F10 Netherlands F5 Belgium F13 Belgium F14 France F19 France F20 France F21 France F22 Germany F17 Germany F18 Dominican Republic F1 Dominican Republic F2 Dominican Republic F3 France F1 Spain F1 Spain F2 Spain F3 Spain F4 Spain F5 Spain F6 Italy F2 Italy F3 France F7 Italy F4 France F9 Portugal F5 Italy F13 Italy F14 Italy F18 Austria F1 Austria F2 Austria F3 Austria F4 Slovakia F2 Austria F5 Switzerland F3 Switzerland F4 Switzerland F5 Spain F29 Spain F30 Portugal F11 Portugal F12 Spain F33 Tunisia F29 Tunisia F30 Tunisia F31 Tunisia F32 Tunisia F33 Tunisia F35 Tunisia F36 Tunisia F1 (Hammamet) Tunisia F2 (Hammamet) Tunisia F3 (Hammamet) Tunisia F4 (Hammamet) Tunisia F5 (Hammamet) Portugal F1 (Vale Do Lobo) Tunisia F9 (Hammamet) Tunisia F10 (Hammamet) Tunisia F11 (Hammamet) Tunisia F12 (Hammamet) Portugal F5 (Quinta Da Marinha) Portugal F6 (Porto) Tunisia F16 (Hammamet) Tunisia F18 (Hammamet) Tunisia F19 (Hammamet) Romania F2 (Bacau) Tunisia F21 (Hammamet) Tunisia F22 (Hammamet) Hungary F5 (Budapest) Netherlands F2 (Breda) Italy F25 (Cornaiano) Tunisia F37 (Hammamet) Tunisia F38 (Hammamet) Tunisia F39 (Hammamet) Hong Kong F4 (Hong Kong) Hong Kong F5 (Hong Kong) Russia F3 Nigeria F3 Nigeria F4 Russia F2 Ukraine F3 Austria F4 Austria F5 Austria F6 Russia F3 Russia F5 Russia F6 Ivory Coast F1 Ivory Coast F2 Russia F1 Russia F2 Russia F3 Qatar F4 (Doha) Qatar F5 (Doha) Qatar F6 (Doha) M25 Tay Ninh Bosnia & Herzegovina F2 Kazakhstan F1 M15 Hong Kong Kazakhstan F2 M15 Cancun France F6 M25 Prague France F7 M25 Jablonec Nad Nisou Italy F6 M15 Punta Cana M25 Vale do Lobo M25 Idanha-a-Nova M25 Agadir M25 Setubal M25 Sintra M25 Sintra M25 Sunderland M25 Glasgow M15 Monastir M15 Monastir M25 Vila Real de Santo Antonio M25 Vila Real de Santo Antonio M25 Faro M25 Loule M25 Quinta Do Lago M25 New Delhi M25 Portimao M25 Toulouse-Balma M25 Lucknow M25 Santa Margherita di Pula M25 Santa Margherita di Pula M25 Jakarta M25 Jakarta M25 Santa Margherita di Pula M25 Nottingham M15 Alaminos-Larnaca M25 Prague M25 Rome M25 Cordoba M25 Risskov/Aarhus M15 Wroclaw Italy F31 Austria F2 Geneva Challenger - Geneva Croatia F3 IPP Open - Helsinki Geneva Challenger - Geneva President's Cup - Astana IPP Open - Helsinki Korat Challenger Zagreb Challenger Karlsruhe Challenger Penza Challenger Saransk Challenger Geneva Challenger Como Challenger Ljubljana Challenger Astana Challenger Helsinki Challenger Khanty-Mansiysk Challenger Kazan Challenger Belgrade Challenger Sarajevo Challenger Zagreb Challenger Fergana Challenger Milan Challenger Orbetello Challenger Saransk Challenger Kitzbuhel Challenger Seville Challenger Todi Challenger Astana Challenger Kazan Challenger Meknes Challenger Casablanca Challenger Monza Challenger Rome Challenger Ostrava Challenger Bordeaux Challenger Kosice Challenger Milan Challenger Marburg Challenger Braunschweig Challenger Oberstaufen Challenger Orbetello Challenger Segovia Challenger Binghamton Challenger Seville Challenger Szczecin Challenger Madrid Challenger Geneva Challenger Heilbronn Challenger Kazan Challenger Quimper Challenger Meknes Challenger Casablanca Challenger Rabat Challenger Marrakech Challenger Rome Challenger Nottingham-2 Challenger Braunschweig Challenger Penza Challenger Astana Challenger Pozoblanco Challenger Segovia Challenger St. Remy Challenger Orleans Challenger Mons Challenger Geneva Challenger Loughborough Challenger Helsinki Challenger Tyumen Challenger Netherlands F6 Portoroz Challenger Guimaraes Challenger Vancouver Challenger Aptos Challenger Petange Challenger Tashkent Challenger Kazan Challenger Geneva Challenger Helsinki Challenger Tyumen Challenger Heilbronn Challenger Chennai Challenger Kolkata Challenger New Delhi Challenger St. Brieuc Challenger Tunis Challenger Winnetka Challenger Portoroz Challenger Lexington Challenger Aptos Challenger St. Remy Challenger Tashkent Challenger Eckental Challenger Ortisei Challenger Bucaramanga Challenger Santo Domingo Challenger Kazan Challenger Raanana Challenger Batman Challenger Mersin Challenger Karshi Challenger Furth Challenger Mestre Challenger Moscow Challenger Fergana Challenger Marburg Challenger Astana Challenger Segovia Challenger Portoroz Challenger Agri Challenger Tashkent Challenger Pune Challenger Hua Hin Challenger Eckental Challenger Ortisei Challenger Brescia Challenger Canberra Challenger Wroclaw Challenger Irving Challenger Raanana Challenger St. Brieuc Challenger Turin Challenger Aix En Provence Challenger Mestre Challenger Vicenza Challenger Perugia Challenger Milan Challenger Bastad Challenger Recanati Challenger Astana Challenger Tashkent Challenger Pune Challenger Ortisei Challenger Brescia Challenger Rennes Challenger Quimper Challenger Budapest Challenger Zhuhai Challenger Shenzhen Challenger Heilbronn Challenger Prostejov Challenger Lisbon Challenger Ilkley Challenger Braunschweig Challenger Astana Challenger Poznan Challenger Cortina Challenger Chengdu Challenger Segovia Challenger Jinan Challenger Cordenons Challenger Como Challenger Seville Challenger Szczecin Challenger Istanbul Challenger Sibiu Challenger Kaohsiung Challenger Campinas Challenger Buenos Aires Challenger Cali Challenger Lima Challenger Guayaquil Challenger Montevideo Challenger Santiago Challenger Rio De Janeiro Challenger Bangkok Challenger Newport Beach Challenger Dallas Challenger San Francisco Challenger Cherbourg Challenger Lille Challenger St. Brieuc Challenger Alicante Challenger Taipei City Challenger Barletta Challenger Nanchang Challenger Tunis Challenger Anning Challenger Francavilla Challenger Ostrava Challenger Braga Challenger Lisbon Challenger Vicenza Challenger Shymkent Challenger Almaty Challenger Fergana Challenger Marburg Challenger Bastad Challenger Scheveningen Challenger Prague Challenger Liberec Challenger Pullach Challenger Cordenons Challenger Mallorca Challenger Istanbul Challenger Sibiu Challenger Orleans Challenger Almaty Challenger Tashkent Challenger Ningboo Challenger Liuzhou Challenger Shenzhen Challenger Eckental Challenger Bratislava Challenger Kobe Challenger Andria Challenger Orlando Challenger Columbus Challenger Koblenz Challenger Newport Beach Challenger Cleveland Challenger Dallas Challenger Bangkok Challenger Bergamo Challenger Bangkok Challenger Indian Wells Challenger Yokohama Challenger Zhuhai Challenger Phoenix Challenger Zhangjiagang Challenger St. Brieuc Challenger Alicante Challenger Taipei City Challenger Anning Challenger Nanchang Challenger Seoul Challenger Busan Challenger Shymkent Challenger Gwangju Challenger Samarkand Challenger Jerusalem Challenger Vicenza Challenger Surbiton Challenger Almaty Challenger Nottingham Challenger Shymkent Challenger Bratislava Challenger Recanati Challenger Perugia Challenger Nur-Sultan Challenger Tampere Challenger Chengdu Challenger Manerbio Challenger Vancouver Challenger Baotou Challenger Jinan Challenger Shanghai Challenger Kaohsiung Challenger Orleans Challenger Nur-Sultan Challenger Ningboo Challenger Brest Challenger Liuzhou Challenger Shenzhen Challenger Eckental Challenger Kobe Challenger Canberra Challenger Bangkok Challenger Bangkok Challenger Newport Beach Challenger Dallas Challenger Bengalaru Challenger Cleveland Challenger Drummondville Challenger Calgary Challenger Indian Wells Challenger Monterrey Challenger Prague II Challenger Prostejov Challenger Lisbon Challenger Istanbul Challenger Marbella Challenger Eckental Challenger Maia Challenger Cherbourg Challenger Biella 2 Challenger Nur-Sultan 1 Challenger Gran Canaria 1 Challenger Nur-Sultan 2 Challenger Gran Canaria 2 Challenger Santiago Challenger Lugano Challenger Marbella Challenger Oeiras 1 Challenger Oeiras 2 Challenger Belgrade Challenger Zagreb Challenger Oeiras 3 Challenger Oeiras 4 Challenger Little Rock Challenger Nottingham 1 Challenger Orlando 2 Challenger Nottingham 2 Challenger Prostejov Challenger Milan Challenger Porto Challenger Amersfoort Challenger Tampere Challenger Segovia Challenger Prague 2 Challenger Verona Challenger Warsaw Challenger Seville Challenger Istanbul 2 Challenger Quito Challenger Lisbon Challenger Santiago 2 Challenger Santiago 3 Challenger Bogota Challenger Lima 2 Challenger Bergamo Challenger Guayaquil Challenger Manama Challenger Antalya 3 Challenger Maia 1 Challenger Maia 2 Challenger Forli 1 Challenger Bengalaru 1 Challenger Bengalaru 2 Challenger Gran Canaria Challenger Santiago Challenger Concepcion 2 Challenger Santa Cruz de la Sierra 2 Challenger Pereira Challenger Mexico City Challenger Tunisia F6 (Hammamet) San Luis Potosi Challenger Tallahassee Challenger Aguascalientes Challenger Morelos Challenger Troisdorf Challenger Prostejov Challenger Bratislava Challenger Oeiras 3 Challenger Malaga Challenger Cali Challenger Porto Challenger Bogota Challenger Nur-Sultan Challenger Segovia Challenger Nonthaburi 1 Challenger Nonthaburi 2 Challenger Nonthaburi 3 Challenger Istanbul Challenger Braga Challenger Lisbon Challenger Ismaning Challenger Hamburg Challenger Brest Challenger Maia Challenger Nonthaburi 1 Challenger Oeiras 1 Challenger Nonthaburi 2 Challenger Oeiras 2 Challenger Nonthaburi 3 Challenger Vilnius Challenger Cherbourg Challenger Rovereto Challenger Pau Challenger Seoul Challenger Gwangju Challenger Busan Challenger Skopje Challenger Vicenza Challenger Blois Challenger Salinas Challenger Hungary F2 Tunisia F34 ATP Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg ATP Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg Interwetten Austrian Open - Kitzbuhel France F2 Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg Serbia Open - Belgrade Mercedes Cup - Stuttgart BCR Open Romania - Bucharest Kremlin Cup - Moscow M25 Santa Margherita di Pula St. Petersburg Open - St. Petersburg Heineken Open - Auckland Open Sabadell Atlantico - Barcelona Mercedes Cup - Stuttgart BCR Open Romania - Bucharest Kremlin Cup - Moscow Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Serbia Open - Belgrade St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Aircel Chennai Open - Chennai Apia International - Sydney SAP Open - San Jose U.S. National Indoor Tennis Championships - Memphis Delray Beach International Tennis Championships - Delray Beach BRD Nastase Tiriac Trophy - Bucharest Portugal Open - Oeiras Topshelf Open - 's-Hertogenbosch BB&T Atlanta Open - Atlanta Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg PTT Thailand Open - Bangkok Kremlin Cup - Moscow Barcelona Open BancSabadell - Barcelona AEGON Championships - London Topshelf Open - 's-Hertogenbosch Claro Open Colombia - Bogota Citi Open - Washington Shenzhen Open - Shenzhen China Open - Beijing Kremlin Cup - Moscow Aircel Chennai Open - Chennai Ecuador Open - Quito Dubai Duty Free Tennis Championships - Dubai BRD Nastase Tiriac Trophy - Bucharest TEB BNP Paribas Istanbul Open - Istanbul Geneva Open - Geneva Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg Aircel Chennai Open - Chennai Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona BMW Open - Munich Geneva Open - Geneva Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg China Open - Beijing Kremlin Cup - Moscow Qatar ExxonMobil Open - Doha ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Hungarian Open - Budapest Millennium Estoril Open - Estoril Ricoh Open - 's-Hertogenbosch Bet-at-home Open - Hamburg St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Kremlin Cup - Moscow Qatar ExxonMobil Open - Doha Sydney International - Sydney Garanti Koza Sofia Open - Sofia New York Open - New York Delray Beach Open - Delray Beach Dubai Duty Free Tennis Championships - Dubai Ricoh Open - 's-Hertogenbosch Gerry Weber Open - Halle Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Citi Open - Washington Chengdu Open - Chengdu China Open - Beijing Kremlin Cup - Moscow Swiss Indoors Basel - Basel Tata Open Maharashtra - Pune Sydney International - Sydney Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Turkish Airlines Open Antalya - Antalya St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Tata Open Maharashtra - Pune Dubai Duty Free Tennis Championships - Dubai St. Petersburg Open - St. Petersburg Astana Open - Nur-Sultan Sofia Open - Sofia Delray Beach Open - Delray Beach Chile Dove Men+Care Open - Santiago Dubai Duty Free Tennis Championships - Dubai Serbia Open - Belgrade Open Parc - Lyon Hall of Fame Open - Newport Abierto Mexicano de Tenis Mifel - Los Cabos Truist Atlanta Open - Atlanta Citi Open - Washington St. Petersburg Open - St. Petersburg Sofia Open - Sofia Kremlin Cup - Moscow Anytech365 Andalucia Open - Marbella Astana Open - Nur-Sultan Tata Open Maharashtra - Pune Gonet Geneva Open - Geneva Libema Open - 's-Hertogenbosch IPP Open - Helsinki Nottingham Challenger Vicenza Challenger Cassis Challenger BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Western & Southern Open - Cincinnati Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Coupe Rogers - Montreal Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Marrakech Challenger Asuncion Challenger Acapulco Challenger Izmir Challenger Shanghai Challenger Guangzhou Challenger Shenzhen 1 Challenger Wuxi Challenger U.S. Open - New York Porto Challenger Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Ilkley Challenger Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha French Open - Paris Wimbledon - London U.S. Open - New York Santo Domingo Challenger Australian Open - Melbourne Australian Open - Melbourne Puerto Vallarta Challenger Segovia Challenger Davis Cup, Group I, 2R, GBR-RUS 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group I, 1R, RUS-DEN 4-1 Power Horse Cup - Dusseldorf Davis Cup, Group I, 2R, RUS-ESP 3-2 Zhuhai Open - Zhuhai Davis Cup, World Group, PO, RUS-KAZ 3-1 Davis Cup, Group I, 2R, RUS-AUT 1-3 St. Petersburg Open - St. Petersburg U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) French Open (juniors) Shanghai Rolex Masters - Shanghai French Open - Paris Wimbledon - London French Open - Paris Olympics - Rio de Janeiro